package com.liuwei.spring.cloud.junit.leetcode.hots;

import lombok.extern.slf4j.Slf4j;

import java.util.PriorityQueue;

@Slf4j
public class TopN {

    public static void main(String[] args) {

    }

    /**
     * Java 小顶堆
     */
    public static void heap() {
        // 创建一个小顶堆
        PriorityQueue<Integer> minHeap = new PriorityQueue<>();
        // 创建一个最大堆
        // PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Comparator.reverseOrder());
        // 添加元素
        minHeap.offer(10);
        minHeap.offer(5);
        minHeap.offer(15);
        // 查看堆顶元素，即最小元素
        System.out.println("最小元素: " + minHeap.peek());
        // 移除并返回堆顶元素
        System.out.println("被移除的最小元素: " + minHeap.poll());
        // 再次查看堆顶元素
        System.out.println("现在的最小元素: " + minHeap.peek());
    }
}
